revision:









<section class="gallery_B">
<div class="container_B">
<div class="row_B">
<div class="gallery-filter">
<span class="filter-item active" data-filter="all">all</span>
<span class="filter-item" data-filter="travel">travel</span>
<span class="filter-item" data-filter="photograph">photograph</span>
<span class="filter-item" data-filter="people">people</span>
<span class="filter-item" data-filter="cars">cars</span>
</div>
</div>
<div class="row_B">
<div class="gallery-item travel">
<div class="gallery-item-inner"><img src="../images/1.jpg" alt="travel"></div>
</div>
<div class="gallery-item cars">
<div class="gallery-item-inner"><img src="../images/car1.jpg" alt="cars"></div>
</div>
<div class="gallery-item photograph">
<div class="gallery-item-inner"><img src="../images/7a.jpg" alt="photograph"></div>
</div>
<div class="gallery-item people">
<div class="gallery-item-inner"><img src="../images/tesla.jpg" alt="watch"></div>
</div>
<div class="gallery-item cars">
<div class="gallery-item-inner"><img src="../images/car4.jpg" alt="cars"> </div>
</div>
<div class="gallery-item travel">
<div class="gallery-item-inner"><img src="../images/2.jpg" alt="travel"></div>
</div>
<div class="gallery-item photograph">
<div class="gallery-item-inner"><img src="../images/10a.jpg" alt="photograph"></div>
</div>
<div class="gallery-item cars">
<div class="gallery-item-inner"><img src="../images/car3.jpg" alt="cars"></div>
</div>
<div class="gallery-item people">
<div class="gallery-item-inner"><img src="../images/tolkien.jpg" alt="people"></div>
</div>
<div class="gallery-item travel">
<div class="gallery-item-inner"><img src="../images/6.jpg" alt="travel"></div>
</div>
</div>
</div>
</section>
<style>
.container_B{max-width: 90vw; margin:auto;}
.row_B{display: flex; flex-wrap: wrap;}
.row_B .gallery-item .gallery-item-inner img{ max-width: 100%; vertical-align: middle;}
/*.gallery*/
.gallery_B{width: 100%; display: block; min-height: 100vh; background-color: #3f3e45; padding: 100px 0;}
.gallery_B .gallery-filter{padding: 0 15px; width: 100%; text-align: center; margin-bottom: 20px;}
.gallery_M .gallery-filter .filter-item{ color: #ffffff;font-size: 18px; text-transform: uppercase; display: inline-block;
margin:0 10px; cursor: pointer; border-bottom: 2px solid transparent; line-height: 1.2; transition: all 0.3s ease;}
.gallery_B .gallery-filter .filter-item.active{color: #ff9800; border-color : #ff9800;}
.gallery_B .gallery-item{width: calc(100% / 3); padding: 15px;}
.gallery_B .gallery-item-inner img{width: 100%;}
.gallery_B .gallery-item.show{ animation: fadeIn 0.5s ease;}
@keyframes fadeIn{
0%{opacity: 0; }
100%{opacity: 1;}
}
.gallery_B .gallery-item.hide{display: none;}
/*responsive*/
@media(max-width: 991px){
.gallery_B .gallery-item{width: 50%;}
}
@media(max-width: 767px){
.gallery_B .gallery-item{width: 100%;}
.gallery_B .gallery-filter .filter-item{margin-bottom: 10px;}
}
</style>
<script>
const filterContainer = document.querySelector(".gallery-filter"),
galleryItems = document.querySelectorAll(".gallery-item");
filterContainer.addEventListener("click", (event) =>{
if(event.target.classList.contains("filter-item")){
filterContainer.querySelector(".active").classList.remove("active");
event.target.classList.add("active");
const filterValue = event.target.getAttribute("data-filter");
galleryItems.forEach((item) =>{
if(item.classList.contains(filterValue) || filterValue === 'all'){
item.classList.remove("hide");
item.classList.add("show");
}
else{
item.classList.remove("show");
item.classList.add("hide");
}
});
}
});
</script>